package com.laisheng.interview.service;

import com.laisheng.interview.model.ResumeFile;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 简历文件服务接口，处理简历的上传、下载、查询和删除等操作
 */
public interface ResumeFileService {
    
    /**
     * 上传简历文件
     * @param file 上传的文件
     * @param accountingInfoId 关联的面试者ID
     * @return 简历文件信息
     * @throws Exception 上传过程中发生的异常
     */
    ResumeFile uploadResume(MultipartFile file, Long accountingInfoId) throws Exception;
    
    /**
     * 根据面试信息ID获取简历文件
     * @param accountingInfoId 面试者ID
     * @return 简历文件信息
     */
    ResumeFile getByAccountingInfoId(Long accountingInfoId);
    
    // 获取所有简历文件
    List<ResumeFile> getAllResumeFiles();
    
    // 根据ID获取简历文件
    ResumeFile getById(Long id);
    
    // 删除简历文件
    void deleteById(Long id);
    
    // 下载简历文件
    byte[] downloadResume(Long id) throws Exception;
}